{
  "bundles": [
    {
      "@type": "NXBundle",
      "artifactId": "nuxeo-platform-comment",
      "artifactVersion": "9.10",
      "bundleGroup": {
        "@type": "NXBundleGroup",
        "bundleIds": [
          "org.nuxeo.ecm.platform.comment",
          "org.nuxeo.ecm.platform.comment.api",
          "org.nuxeo.ecm.platform.comment.core",
          "org.nuxeo.ecm.platform.comment.web",
          "org.nuxeo.ecm.platform.comment.workflow"
        ],
        "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.comment",
        "id": "grp:org.nuxeo.ecm.platform.comment",
        "name": "org.nuxeo.ecm.platform.comment",
        "parentIds": [
          "grp:org.nuxeo.ecm.platform"
        ],
        "readmes": [],
        "version": "9.10"
      },
      "bundleId": "org.nuxeo.ecm.platform.comment",
      "components": [
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.lifecycle.LifeCycleService--types",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment.lifecycle/Contributions/org.nuxeo.ecm.platform.comment.lifecycle--types",
              "id": "org.nuxeo.ecm.platform.comment.lifecycle--types",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.lifecycle.LifeCycleService",
                "name": "org.nuxeo.ecm.core.lifecycle.LifeCycleService",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"types\" target=\"org.nuxeo.ecm.core.lifecycle.LifeCycleService\">\n    <types>\n      <type name=\"Comment\">comment_moderation</type>\n    </types>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.lifecycle.LifeCycleService--lifecycle",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment.lifecycle/Contributions/org.nuxeo.ecm.platform.comment.lifecycle--lifecycle",
              "id": "org.nuxeo.ecm.platform.comment.lifecycle--lifecycle",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.lifecycle.LifeCycleService",
                "name": "org.nuxeo.ecm.core.lifecycle.LifeCycleService",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"lifecycle\" target=\"org.nuxeo.ecm.core.lifecycle.LifeCycleService\">\n\n    <lifecycle defaultInitial=\"moderation_pending\" name=\"comment_moderation\">\n\n      <transitions>\n        <transition destinationState=\"moderation_published\" name=\"moderation_publish\">\n          <description>Approve the comment</description>\n        </transition>\n        <transition destinationState=\"moderation_rejected\" name=\"moderation_reject\">\n          <description>Reject the comment</description>\n        </transition>\n      </transitions>\n      <states>\n        <state description=\"Default state\" name=\"moderation_pending\">\n          <transitions>\n            <transition>moderation_publish</transition>\n            <transition>moderation_reject</transition>\n          </transitions>\n        </state>\n        <state description=\"Comment published\" name=\"moderation_published\"/>\n        <state description=\"Comment Rejected\" name=\"moderation_rejected\"/>\n      </states>\n\n    </lifecycle>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment.lifecycle",
          "name": "org.nuxeo.ecm.platform.comment.lifecycle",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.platform.comment.lifecycle\">\n\n  <extension target=\"org.nuxeo.ecm.core.lifecycle.LifeCycleService\"\n      point=\"lifecycle\">\n\n    <lifecycle name=\"comment_moderation\" defaultInitial=\"moderation_pending\">\n\n      <transitions>\n        <transition name=\"moderation_publish\" destinationState=\"moderation_published\">\n          <description>Approve the comment</description>\n        </transition>\n        <transition name=\"moderation_reject\" destinationState=\"moderation_rejected\">\n          <description>Reject the comment</description>\n        </transition>\n      </transitions>\n      <states>\n        <state name=\"moderation_pending\" description=\"Default state\">\n          <transitions>\n            <transition>moderation_publish</transition>\n            <transition>moderation_reject</transition>\n          </transitions>\n        </state>\n        <state name=\"moderation_published\" description=\"Comment published\"/>\n        <state name=\"moderation_rejected\" description=\"Comment Rejected\"/>\n      </states>\n\n    </lifecycle>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.core.lifecycle.LifeCycleService\"\n      point=\"types\">\n    <types>\n      <type name=\"Comment\">comment_moderation</type>\n    </types>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/comment-life-cycle-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.event.EventServiceComponent--listener",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment.service.listener/Contributions/org.nuxeo.ecm.platform.comment.service.listener--listener",
              "id": "org.nuxeo.ecm.platform.comment.service.listener--listener",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.event.EventServiceComponent",
                "name": "org.nuxeo.ecm.core.event.EventServiceComponent",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"listener\" target=\"org.nuxeo.ecm.core.event.EventServiceComponent\">\n\n    <listener async=\"false\" class=\"org.nuxeo.ecm.platform.comment.listener.CommentRemovedEventListener\" name=\"commentListener\" postCommit=\"true\">\n      <event>documentRemoved</event>\n    </listener>\n\n    <listener async=\"true\" class=\"org.nuxeo.ecm.platform.comment.listener.DocumentRemovedCommentEventListener\" name=\"docRemovedCommentListener\" postCommit=\"true\">\n      <event>documentRemoved</event>\n    </listener>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment.service.listener",
          "name": "org.nuxeo.ecm.platform.comment.service.listener",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.platform.comment.service.listener\"\n  version=\"1.0\">\n\n  <extension target=\"org.nuxeo.ecm.core.event.EventServiceComponent\"\n    point=\"listener\">\n\n    <listener name=\"commentListener\" async=\"false\" postCommit=\"true\"\n      class=\"org.nuxeo.ecm.platform.comment.listener.CommentRemovedEventListener\">\n      <event>documentRemoved</event>\n    </listener>\n\n    <listener name=\"docRemovedCommentListener\" async=\"true\" postCommit=\"true\"\n      class=\"org.nuxeo.ecm.platform.comment.listener.DocumentRemovedCommentEventListener\">\n      <event>documentRemoved</event>\n    </listener>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/comment-listener-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.ecm.platform.comment.service.CommentService",
          "documentation": "\n    This component gives the user the possibility to add comments to documents.\n  \n",
          "documentationHtml": "<p>\nThis component gives the user the possibility to add comments to documents.\n</p><p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.platform.comment.service.CommentService",
              "descriptors": [
                "org.nuxeo.ecm.platform.comment.service.CommentServiceConfig"
              ],
              "documentation": "\n      This extension can be used to configure the Comment Service\n    \n",
              "documentationHtml": "<p>\nThis extension can be used to configure the Comment Service\n</p><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment.service.CommentService/ExtensionPoints/org.nuxeo.ecm.platform.comment.service.CommentService--config",
              "id": "org.nuxeo.ecm.platform.comment.service.CommentService--config",
              "label": "config (org.nuxeo.ecm.platform.comment.service.CommentService)",
              "name": "config",
              "version": "9.10"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment.service.CommentService",
          "name": "org.nuxeo.ecm.platform.comment.service.CommentService",
          "requirements": [],
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.ecm.platform.comment.service.CommentService",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment.service.CommentService/Services/org.nuxeo.ecm.platform.comment.api.CommentManager",
              "id": "org.nuxeo.ecm.platform.comment.api.CommentManager",
              "overriden": false,
              "version": "9.10"
            }
          ],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.platform.comment.service.CommentService\">\n  <documentation>\n    This component gives the user the possibility to add comments to documents.\n  </documentation>\n\n  <implementation class=\"org.nuxeo.ecm.platform.comment.service.CommentService\"/>\n\n  <service>\n    <provide interface=\"org.nuxeo.ecm.platform.comment.api.CommentManager\"/>\n  </service>\n\n  <extension-point name=\"config\">\n    <documentation>\n      This extension can be used to configure the Comment Service\n    </documentation>\n    <object class=\"org.nuxeo.ecm.platform.comment.service.CommentServiceConfig\"/>\n  </extension-point>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/CommentService.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "documentation": "\n    This component defines the relation-related config for comments.\n  \n",
          "documentationHtml": "<p>\nThis component defines the relation-related config for comments.\n</p><p></p>",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.comment.service.CommentService--config",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment.service.RelationContrib/Contributions/org.nuxeo.ecm.platform.comment.service.RelationContrib--config",
              "id": "org.nuxeo.ecm.platform.comment.service.RelationContrib--config",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.comment.service.CommentService",
                "name": "org.nuxeo.ecm.platform.comment.service.CommentService",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"config\" target=\"org.nuxeo.ecm.platform.comment.service.CommentService\">\n    <config>\n      <converterClass>\n        org.nuxeo.ecm.platform.comment.impl.CommentConverterImpl\n      </converterClass>\n      <graphName>documentComments</graphName>\n      <!-- XXX AT: these namespaces should have an ending slash -->\n      <commentNamespace>http://www.nuxeo.org/comments/uid</commentNamespace>\n      <documentNamespace>http://www.nuxeo.org/document/uid</documentNamespace>\n      <predicateNamespace>\n        http://www.nuxeo.org/predicates/isCommentFor\n      </predicateNamespace>\n    </config>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.schema.TypeService--doctype",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment.service.RelationContrib/Contributions/org.nuxeo.ecm.platform.comment.service.RelationContrib--doctype",
              "id": "org.nuxeo.ecm.platform.comment.service.RelationContrib--doctype",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.schema.TypeService",
                "name": "org.nuxeo.ecm.core.schema.TypeService",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"doctype\" target=\"org.nuxeo.ecm.core.schema.TypeService\">\n    <doctype extends=\"Relation\" name=\"CommentRelation\">\n      <facet name=\"HiddenInNavigation\"/>\n    </doctype>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.relations.services.RelationService--resourceadapters",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment.service.RelationContrib/Contributions/org.nuxeo.ecm.platform.comment.service.RelationContrib--resourceadapters",
              "id": "org.nuxeo.ecm.platform.comment.service.RelationContrib--resourceadapters",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.relations.services.RelationService",
                "name": "org.nuxeo.ecm.platform.relations.services.RelationService",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"resourceadapters\" target=\"org.nuxeo.ecm.platform.relations.services.RelationService\">\n    <!-- XXX AT: this namespace should have an ending slash -->\n    <adapter class=\"org.nuxeo.ecm.platform.relations.adapters.DocumentModelResourceAdapter\" namespace=\"http://www.nuxeo.org/comments/uid\"/>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment.service.RelationContrib",
          "name": "org.nuxeo.ecm.platform.comment.service.RelationContrib",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.platform.comment.service.RelationContrib\">\n\n  <documentation>\n    This component defines the relation-related config for comments.\n  </documentation>\n\n  <extension target=\"org.nuxeo.ecm.platform.comment.service.CommentService\"\n    point=\"config\">\n    <config>\n      <converterClass>\n        org.nuxeo.ecm.platform.comment.impl.CommentConverterImpl\n      </converterClass>\n      <graphName>documentComments</graphName>\n      <!-- XXX AT: these namespaces should have an ending slash -->\n      <commentNamespace>http://www.nuxeo.org/comments/uid</commentNamespace>\n      <documentNamespace>http://www.nuxeo.org/document/uid</documentNamespace>\n      <predicateNamespace>\n        http://www.nuxeo.org/predicates/isCommentFor\n      </predicateNamespace>\n    </config>\n  </extension>\n\n  <!-- relation adapters -->\n  <extension target=\"org.nuxeo.ecm.platform.relations.services.RelationService\"\n    point=\"resourceadapters\">\n    <!-- XXX AT: this namespace should have an ending slash -->\n    <adapter namespace=\"http://www.nuxeo.org/comments/uid\"\n      class=\"org.nuxeo.ecm.platform.relations.adapters.DocumentModelResourceAdapter\" />\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.core.schema.TypeService\"\n    point=\"doctype\">\n    <doctype name=\"CommentRelation\" extends=\"Relation\">\n      <facet name=\"HiddenInNavigation\" />\n    </doctype>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/comment-relation-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.schema.TypeService--schema",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment.coreTypes/Contributions/org.nuxeo.ecm.platform.comment.coreTypes--schema",
              "id": "org.nuxeo.ecm.platform.comment.coreTypes--schema",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.schema.TypeService",
                "name": "org.nuxeo.ecm.core.schema.TypeService",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"schema\" target=\"org.nuxeo.ecm.core.schema.TypeService\">\n    <schema name=\"comment\" prefix=\"comment\" src=\"schema/comment.xsd\"/>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.lifecycle.LifeCycleService--types",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment.coreTypes/Contributions/org.nuxeo.ecm.platform.comment.coreTypes--types",
              "id": "org.nuxeo.ecm.platform.comment.coreTypes--types",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.lifecycle.LifeCycleService",
                "name": "org.nuxeo.ecm.core.lifecycle.LifeCycleService",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"types\" target=\"org.nuxeo.ecm.core.lifecycle.LifeCycleService\">\n    <types>\n      <type name=\"CommentRoot\">default</type>\n    </types>\n    <types>\n      <type name=\"HiddenFolder\">default</type>\n    </types>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.schema.TypeService--doctype",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment.coreTypes/Contributions/org.nuxeo.ecm.platform.comment.coreTypes--doctype",
              "id": "org.nuxeo.ecm.platform.comment.coreTypes--doctype",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.schema.TypeService",
                "name": "org.nuxeo.ecm.core.schema.TypeService",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"doctype\" target=\"org.nuxeo.ecm.core.schema.TypeService\">\n\n    <doctype extends=\"Folder\" name=\"CommentRoot\">\n      <facet name=\"HiddenInNavigation\"/>\n      <facet name=\"HiddenInCreation\"/>\n      <subtypes>\n        <type>Folder</type>\n        <type>HiddenFolder</type>\n      </subtypes>\n    </doctype>\n\n    <doctype extends=\"Document\" name=\"Comment\">\n      <schema name=\"comment\"/>\n      <schema name=\"common\"/>\n      <schema name=\"dublincore\"/>\n      <facet name=\"HiddenInNavigation\"/>\n      <prefetch>\n        dc:title, dc:modified, comment.author, comment.text,\n        comment.creationDate\n      </prefetch>\n    </doctype>\n\n    <doctype append=\"true\" name=\"Domain\">\n      <subtypes>\n        <type>CommentRoot</type>\n      </subtypes>\n    </doctype>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment.coreTypes",
          "name": "org.nuxeo.ecm.platform.comment.coreTypes",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.platform.comment.coreTypes\">\n\n  <require>org.nuxeo.ecm.core.CoreExtensions</require>\n\n  <extension target=\"org.nuxeo.ecm.core.schema.TypeService\" point=\"schema\">\n    <schema name=\"comment\" prefix=\"comment\" src=\"schema/comment.xsd\" />\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.core.schema.TypeService\" point=\"doctype\">\n\n    <doctype name=\"CommentRoot\" extends=\"Folder\">\n      <facet name=\"HiddenInNavigation\" />\n      <facet name=\"HiddenInCreation\" />\n      <subtypes>\n        <type>Folder</type>\n        <type>HiddenFolder</type>\n      </subtypes>\n    </doctype>\n\n    <doctype name=\"Comment\" extends=\"Document\">\n      <schema name=\"comment\" />\n      <schema name=\"common\" />\n      <schema name=\"dublincore\" />\n      <facet name=\"HiddenInNavigation\" />\n      <prefetch>\n        dc:title, dc:modified, comment.author, comment.text,\n        comment.creationDate\n      </prefetch>\n    </doctype>\n\n    <doctype name=\"Domain\" append=\"true\">\n      <subtypes>\n        <type>CommentRoot</type>\n      </subtypes>\n    </doctype>\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.core.lifecycle.LifeCycleService\"\n    point=\"types\">\n    <types>\n      <type name=\"CommentRoot\">default</type>\n    </types>\n    <types>\n      <type name=\"HiddenFolder\">default</type>\n    </types>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/comment-schemas-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.ec.notification.service.NotificationService--templates",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment.service.notification/Contributions/org.nuxeo.ecm.platform.comment.service.notification--templates",
              "id": "org.nuxeo.ecm.platform.comment.service.notification--templates",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ec.notification.service.NotificationService",
                "name": "org.nuxeo.ecm.platform.ec.notification.service.NotificationService",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"templates\" target=\"org.nuxeo.ecm.platform.ec.notification.service.NotificationService\">\n    <template name=\"commentAdded\" src=\"templates/commentAdded.ftl\"/>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.ec.notification.service.NotificationService--notificationListenerVeto",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment.service.notification/Contributions/org.nuxeo.ecm.platform.comment.service.notification--notificationListenerVeto",
              "id": "org.nuxeo.ecm.platform.comment.service.notification--notificationListenerVeto",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ec.notification.service.NotificationService",
                "name": "org.nuxeo.ecm.platform.ec.notification.service.NotificationService",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"notificationListenerVeto\" target=\"org.nuxeo.ecm.platform.ec.notification.service.NotificationService\">\n    <veto class=\"org.nuxeo.ecm.platform.comment.notification.CommentCreationVeto\" name=\"CommentCreationVeto\"/>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.ec.notification.service.NotificationService--notifications",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment.service.notification/Contributions/org.nuxeo.ecm.platform.comment.service.notification--notifications",
              "id": "org.nuxeo.ecm.platform.comment.service.notification--notifications",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ec.notification.service.NotificationService",
                "name": "org.nuxeo.ecm.platform.ec.notification.service.NotificationService",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"notifications\" target=\"org.nuxeo.ecm.platform.ec.notification.service.NotificationService\">\n\n    <notification autoSubscribed=\"false\" availableIn=\"*\" channel=\"email\" enabled=\"true\" label=\"notifications.name.CommentAdded\" name=\"CommentAdded\" subject=\"New comment on '${docTitle}'\" template=\"commentAdded\">\n      <event name=\"commentAdded\"/>\n    </notification>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.ec.notification.service.NotificationService--notificationListenerHook",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment.service.notification/Contributions/org.nuxeo.ecm.platform.comment.service.notification--notificationListenerHook",
              "id": "org.nuxeo.ecm.platform.comment.service.notification--notificationListenerHook",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ec.notification.service.NotificationService",
                "name": "org.nuxeo.ecm.platform.ec.notification.service.NotificationService",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"notificationListenerHook\" target=\"org.nuxeo.ecm.platform.ec.notification.service.NotificationService\">\n    <hookListener class=\"org.nuxeo.ecm.platform.comment.listener.CommentNotificationListener\" name=\"commentNotification\"/>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment.service.notification",
          "name": "org.nuxeo.ecm.platform.comment.service.notification",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<component name=\"org.nuxeo.ecm.platform.comment.service.notification\">\n\n  <extension\n    target=\"org.nuxeo.ecm.platform.ec.notification.service.NotificationService\"\n    point=\"notificationListenerHook\">\n    <hookListener  name=\"commentNotification\" class=\"org.nuxeo.ecm.platform.comment.listener.CommentNotificationListener\"/>\n  </extension>\n\n  <extension\n      target=\"org.nuxeo.ecm.platform.ec.notification.service.NotificationService\"\n      point=\"notifications\">\n\n    <notification name=\"CommentAdded\" channel=\"email\" enabled=\"true\" availableIn=\"*\"\n      subject=\"New comment on '${docTitle}'\"\n      autoSubscribed=\"false\" template=\"commentAdded\" label=\"notifications.name.CommentAdded\">\n      <event name=\"commentAdded\"/>\n    </notification>\n\n  </extension>\n\n  <extension\n    target=\"org.nuxeo.ecm.platform.ec.notification.service.NotificationService\"\n    point=\"templates\">\n    <template name=\"commentAdded\" src=\"templates/commentAdded.ftl\" />\n  </extension>\n\n  <extension\n    target=\"org.nuxeo.ecm.platform.ec.notification.service.NotificationService\"\n    point=\"notificationListenerVeto\">\n    <veto name=\"CommentCreationVeto\" class=\"org.nuxeo.ecm.platform.comment.notification.CommentCreationVeto\" />\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/comment-notification-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.security.SecurityService--permissions",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment.defaultPermissions/Contributions/org.nuxeo.ecm.platform.comment.defaultPermissions--permissions",
              "id": "org.nuxeo.ecm.platform.comment.defaultPermissions--permissions",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.security.SecurityService",
                "name": "org.nuxeo.ecm.core.security.SecurityService",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"permissions\" target=\"org.nuxeo.ecm.core.security.SecurityService\">\n\n    <permission name=\"Comment\">\n      <include>WriteLifeCycle</include>\n    </permission>\n\n    <permission name=\"Moderate\"/>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.content.template.service.ContentTemplateService--factoryBinding",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment.defaultPermissions/Contributions/org.nuxeo.ecm.platform.comment.defaultPermissions--factoryBinding",
              "id": "org.nuxeo.ecm.platform.comment.defaultPermissions--factoryBinding",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.content.template.service.ContentTemplateService",
                "name": "org.nuxeo.ecm.platform.content.template.service.ContentTemplateService",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"factoryBinding\" target=\"org.nuxeo.ecm.platform.content.template.service.ContentTemplateService\">\n    <factoryBinding factoryName=\"SimpleTemplateFactory\" name=\"CommentRootFactory\" targetType=\"CommentRoot\">\n      <acl>\n        <ace granted=\"true\" permission=\"AddChildren\" principal=\"members\"/>\n        <ace granted=\"true\" permission=\"RemoveChildren\" principal=\"members\"/>\n      </acl>\n     </factoryBinding>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment.defaultPermissions",
          "name": "org.nuxeo.ecm.platform.comment.defaultPermissions",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<component name=\"org.nuxeo.ecm.platform.comment.defaultPermissions\">\n\n  <require>org.nuxeo.ecm.core.security.defaultPermissions</require>\n  <require>org.nuxeo.ecm.platform.content.template.service.ContentTemplateService.defaultContrib</require>\n\n  <extension target=\"org.nuxeo.ecm.core.security.SecurityService\"\n    point=\"permissions\">\n\n    <permission name=\"Comment\">\n      <include>WriteLifeCycle</include>\n    </permission>\n\n    <permission name=\"Moderate\" />\n\n  </extension>\n\n  <extension\n      target=\"org.nuxeo.ecm.platform.content.template.service.ContentTemplateService\"\n      point=\"factoryBinding\">\n    <factoryBinding name=\"CommentRootFactory\" factoryName=\"SimpleTemplateFactory\"\n                     targetType=\"CommentRoot\">\n      <acl>\n        <ace granted=\"true\" permission=\"AddChildren\" principal=\"members\"/>\n        <ace granted=\"true\" permission=\"RemoveChildren\" principal=\"members\"/>\n      </acl>\n     </factoryBinding>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/comment-defaultPermissions-contrib.xml",
          "xmlPureComponent": true
        }
      ],
      "fileName": "nuxeo-platform-comment-9.10.jar",
      "groupId": "org.nuxeo.ecm.platform",
      "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.comment/org.nuxeo.ecm.platform.comment",
      "id": "org.nuxeo.ecm.platform.comment",
      "location": "",
      "manifest": "Manifest-Version: 1.0\r\nArchiver-Version: Plexus Archiver\r\nCreated-By: 1.6.0_20 (Sun Microsystems Inc.)\r\nBuilt-By: jenkins\r\nBuild-Jdk: 1.8.0_77\r\nBundle-ManifestVersion: 2\r\nBundle-Version: 0.0.0.SNAPSHOT\r\nExport-Package: org.nuxeo.ecm.platform.comment.ejb,org.nuxeo.ecm.platf\r\n orm.comment.impl,org.nuxeo.ecm.platform.comment.listener,org.nuxeo.ec\r\n m.platform.comment.service\r\nBundle-ActivationPolicy: lazy\r\nBundle-ClassPath: .\r\nBundle-Category: web,stateful\r\nBundle-Name: Nuxeo Comment project\r\nBundle-RequiredExecutionEnvironment: JavaSE-1.6\r\nBundle-Vendor: Nuxeo\r\nEclipse-LazyStart: true\r\nNuxeo-Component: OSGI-INF/CommentService.xml, OSGI-INF/comment-default\r\n Permissions-contrib.xml, OSGI-INF/comment-life-cycle-contrib.xml, OSG\r\n I-INF/comment-schemas-contrib.xml, OSGI-INF/comment-relation-contrib.\r\n xml, OSGI-INF/comment-listener-contrib.xml, OSGI-INF/comment-notifica\r\n tion-contrib.xml\r\nImport-Package: javax.annotation;version=\"1.0\",javax.ejb,javax.securit\r\n y.auth.login,org.apache.commons.logging,org.nuxeo.common.utils,org.nu\r\n xeo.common.xmap.annotation,org.nuxeo.ecm.core;api=split,org.nuxeo.ecm\r\n .core.api;api=split,org.nuxeo.ecm.core.api.event,org.nuxeo.ecm.core.a\r\n pi.model,org.nuxeo.ecm.core.api.repository,org.nuxeo.ecm.core.api.sec\r\n urity,org.nuxeo.ecm.core.api.security.impl,org.nuxeo.ecm.core.event,o\r\n rg.nuxeo.ecm.core.event.impl,org.nuxeo.ecm.core.schema,org.nuxeo.ecm.\r\n core.schema.types,org.nuxeo.ecm.directory;api=split,org.nuxeo.ecm.pla\r\n tform.comment.api,org.nuxeo.ecm.platform.comment.workflow.services,or\r\n g.nuxeo.ecm.platform.relations.api,org.nuxeo.ecm.platform.relations.a\r\n pi.impl,org.nuxeo.ecm.platform.usermanager,org.nuxeo.runtime,org.nuxe\r\n o.runtime.api,org.nuxeo.runtime.model\r\nBundle-SymbolicName: org.nuxeo.ecm.platform.comment;singleton=true\r\n\r\n",
      "packages": [],
      "requirements": [],
      "version": "9.10"
    }
  ],
  "creationDate": 1664793304638,
  "key": "Nuxeo Platform LTS 2017-9.10",
  "name": "Nuxeo Platform LTS 2017",
  "operations": [],
  "packages": [],
  "pluginSnapshots": {},
  "releaseDate": 1515474000000,
  "version": "9.10"
}